home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / java / io / StringBufferInputStream.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  950 b   |  72 lines

  1. package java.io;
  2.  
  3. /** @deprecated */
  4. @Deprecated
  5. public class StringBufferInputStream extends InputStream {
  6.    protected String buffer;
  7.    protected int pos;
  8.    protected int count;
  9.  
  10.    public StringBufferInputStream(String var1) {
  11.       this.buffer = var1;
  12.       this.count = var1.length();
  13.    }
  14.  
  15.    public synchronized int read() {
  16.       return this.pos < this.count ? this.buffer.charAt(this.pos++) & 255 : -1;
  17.    }
  18.  
  19.    public synchronized int read(byte[] var1, int var2, int var3) {
  20.       if (var1 == null) {
  21.          throw new NullPointerException();
  22.       } else if (var2 >= 0 && var2 <= var1.length && var3 >= 0 && var2 + var3 <= var1.length && var2 + var3 >= 0) {
  23.          if (this.pos >= this.count) {
  24.             return -1;
  25.          } else {
  26.             if (this.pos + var3 > this.count) {
  27.                var3 = this.count - this.pos;
  28.             }
  29.  
  30.             if (var3 <= 0) {
  31.                return 0;
  32.             } else {
  33.                String var4 = this.buffer;
  34.                int var5 = var3;
  35.  
  36.                while(true) {
  37.                   --var5;
  38.                   if (var5 < 0) {
  39.                      return var3;
  40.                   }
  41.  
  42.                   var1[var2++] = (byte)var4.charAt(this.pos++);
  43.                }
  44.             }
  45.          }
  46.       } else {
  47.          throw new IndexOutOfBoundsException();
  48.       }
  49.    }
  50.  
  51.    public synchronized long skip(long var1) {
  52.       if (var1 < 0L) {
  53.          return 0L;
  54.       } else {
  55.          if (var1 > (long)(this.count - this.pos)) {
  56.             var1 = (long)(this.count - this.pos);
  57.          }
  58.  
  59.          this.pos = (int)((long)this.pos + var1);
  60.          return var1;
  61.       }
  62.    }
  63.  
  64.    public synchronized int available() {
  65.       return this.count - this.pos;
  66.    }
  67.  
  68.    public synchronized void reset() {
  69.       this.pos = 0;
  70.    }
  71. }
  72.